package view.shop
{
import core.Language;

import flash.display.MovieClip;

import mx.utils.StringUtil;

import values.shop.ShopItemValue;

/**
 * ShopItemCountLimiterProxy
 * @author jliang
 *
 */
public class ShopItemCountLimiterProxy extends ShopItemHandlerProxy
{
    //==========================================================================
    //  Constructor
    //==========================================================================
    public function ShopItemCountLimiterProxy()
    {
        super();
    }
    //==========================================================================
    //  Properties
    //==========================================================================
    protected var _data:ShopItemValue;
    
    public function get data():ShopItemValue
    {
        return _data;
    }
    
    public function set data(value:ShopItemValue):void
    {
        _data = value;
    }
    //==========================================================================
    //  Overridden methods: ComponentProxy
    //==========================================================================    
    override public function parse(target:MovieClip):void
    {
        super.parse(target);
    }
    
    override public function dispose():void
    {
        reset();
        
        super.dispose();        
    }
    //==========================================================================
    //  Public methods
    //==========================================================================
    public function reset():void
    {
        this.visible = false;
    }
    
    public function check():void
    {
        if (!data) return;
        //@shop_count_limit_label
        //@shop_daily_limit_label
        if (data.hasCountLimit || data.hasDailyLimit)
        {
            this.visible = true;
            
            if (data.hasCountLimit)
            {
                skin.totalRestLabel.visible = true;
                skin.totalRestLabel.text = StringUtil.substitute(Language.getText("@shop_count_limit_label"), data.totalRestNum);
            }
            else
            {                
                skin.totalRestLabel.visible = false;
            }
            
            if (data.hasDailyLimit)
            {
                skin.todayRestLabel.visible = true;
                skin.todayRestLabel.text = StringUtil.substitute(Language.getText("@shop_daily_limit_label"), data.todayRestNum);
            }
            else
            {                
                skin.todayRestLabel.visible = false;
            }
        }
        else
        {
            this.visible = false;
        }
    }
}
}





